/*
* Copyright (c) 2011 Mladen Milankovic <mmlado at gmail.com>.
*
* This file is part of Sink Submarines application
*
* Sink Submarines is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Sink Submarines is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.

* You should have received a copy of the GNU General Public License
* along with Sink Submarines.  If not, see <http://www.gnu.org/licenses/>.
*/

import QtQuick 1.0
import "core"

Rectangle {
    id: main
    width: 800
    height: 480

    Item {
        id: submarineLayer
        width: parent.width
        height: parent.height * 0.9
        y: parent.height * 0.1

        function addSubmarine() {
            var component = Qt.createComponent("core/Submarine.qml");
            if (component.status == Component.Ready) {
                component.createObject(submarineLayer);
            }
        }

        function timeOut() {
            //console.debug('timeOut');
            submarineLayer.addSubmarine();
            //console.debug(submarineLayer.children.length);
            if (submarineLayer.children.length >= 10) {
                //console.debug('stop timer');
                addSubmarineTimer.stop();
            } else {
                addSubmarineTimer.interval = (Math.floor(Math.random()*51)+10)*100;
                //console.debug(addSubmarineTimer.interval);
                addSubmarineTimer.restart();
            }
        }

        Timer {
            id: addSubmarineTimer
            interval: (Math.floor(Math.random()*51)+10)*100
            running: true
            repeat: true
            onTriggered: { submarineLayer.timeOut(); }
        }

        Component.onCompleted: addSubmarine()
    }

}
